bin=httpserver      # 定义目标文件名
cc=g++              # 定义编译器
LD_FLAGS=-std=c++11 -lpthread # 定义编译链接参数，包括编译器版本，链接pthread库
src=main.cc         # 定义源文件名

ALL:$(bin)          #定义伪目标ALL，将目标文件和cgi文件一起编译
.PHONY:ALL

$(bin):$(src)       #定义目标文件的依赖文件为源文件，表示如果源文件被修改过，则需要重新编译目标文件
	$(cc) -o $@ $^ $(LD_FLAGS)    

.PHONY:clean        #定义伪目标clean，用于清除编译生成的文件
clean:
	rm -f $(bin) $(cgi)         
	rm -rf output               

.PHONY:output       #定义伪目标output，用于将编译生成的文件拷贝到output目录中
output:
	mkdir -p output            
	cp $(bin) output            
	cp -rf wwwroot output     
	cp -rf cgi/test_cgi output/wwwroot   
